/**
 ******************************************************************************
 * @file app_boot.c
 * @author GX (2524913364@qq.com)
 * @brief 开机动画的应用，使用到自己封装的 "lcd.h" 和 "fonts.h"(包含在"lcd.h"中)
 *        1.可见区轮换——提高画面刷新时的流畅度
 *        2.不匀速进度条
 *        3.皮卡丘奔跑动画进度条
 *        4.颜色渐变字体——类似呼吸灯
 * @version 1.0.1
 * @date 2022-07-10
 * 
 * @copyright Copyright (c) 2022
 * 
 ******************************************************************************
 *----------------------------------------------------------------------------*
 *  Remark         : Description                                              *
 *----------------------------------------------------------------------------*
 *  Change History :                                                          *
 *  <Date>     | <Version> | <Author>       | <Description>                   *
 *----------------------------------------------------------------------------*
 *  2022-07-10 | 1.0.0     | GX             | Create file                     *
 *----------------------------------------------------------------------------*
 *  2022-07-14 | 1.0.1     | GX             | The change effect of font color *
 *             |           |                | gradient is better.             *
 *----------------------------------------------------------------------------*                                                                           *
 ******************************************************************************
 */


/*----------------------------- start of file -------------------------------*/

#ifndef _APP_BOOT_H
#define _APP_BOOT_H


/*-------------------------------- include ----------------------------------*/

#include <sys/mman.h>
#include <sys/types.h> 
#include <sys/stat.h> 

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h> 
#include <time.h>


/*---------------------- Define parameters and types ------------------------*/

#define BOOT_ANIMATION_PATH "./data/boot_anima/"   /* 保存开机动画的路径 */
#define BOOT_WALLPAPER_PATH "./data/boot_anima/boot_wallpaper.bmp"  /* 开机壁纸 */

/* 进度条相关宏--------------------------- */
#define BOOT_PROGRESS_BAR_COLOR   0x0037475E  /* 进度条颜色 */
#define BOOT_PROGRESS_BAR_LENGTH  632         /* 进度条总长度 */
#define BOOT_PROGRESS_BAR_HEIGHT  100         /* 进度条高度 */
#define BOOT_PROGRESS_BAR_X       0           /* 进度条起始x坐标 */
#define BOOT_PROGRESS_BAR_Y       350         /* 进度条起始y坐标 */

/* 皮卡丘相关宏--------------------------- */
#define BOOT_PIKA_NUM             4           /* 皮卡丘图片总数 */

/* 本模块使用的字体颜色---------------------*/
#define BOOT_TEXT_COLOR_MAX       0x0000FF00  /* 字体颜色数值上限 */
#define BOOT_TEXT_COLOR_MIN       0x00003300  /* 字体颜色数值下限 */
#define BOOT_TEXT_COLOR_ADD       (0x11<<8)   /* 字体变化速度 */
#define BOOT_TEXT_LOADING         "Loading..."/* 显示内容 */
#define BOOT_TEXT_FINISH          "Finish"


/*-------------------------- Function declaration ---------------------------*/

bool play_boot_animation(void);


#endif  /* _BOOT_H */
/*------------------------------ end of file --------------------------------*/

